home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs52.d81
/
tinyplt.arc
/
TINY PILOT 64
(
.txt
)
Wrap
Commodore BASIC
|
2009-10-10
|
15KB
|
490 lines
1 GOTO910
2 PRINT"x[169][141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X`
3 [153]"xSTEPGINPUTSTOPSTEPINPUTONX` (null)(null)STEP(null)INPUTLISTLX(null)xSTEPUINPUTSTOPSTEP(null)INPUTONX`
4 PRINT"xhhh[170]h[168]hhhhhhh[152]H[138]HX`
5 [153]"hhhhhhh`
6 PRINT"[160][255][200][132][251][169][216][133][252] [241][183][138][162][160][255][200][145][251][136][208][251][230][252][202][208][246]`
7 [153]"NEWCLOSE(null)LEFT$>(null)ON(null)LET(null)(null)(null)(null)(null)(null)MID$(null)(null)`
35 IFUW=0THENSYSUU,15
40 POKEUC,0:POKEUN,0:UR$="":UI$="":IFUL=0THENUL=39
45 GETUI$:IFUI$=""THEN45
50 UA=ASC(UI$):UR=LEN(UR$):IFUA=13ANDUR>0THENPOKEUC,1:PRINT" [157]";:GOTO70
55 IFUA=20THENON-(UR=0)GOTO45:UR$=LEFT$(UR$,UR-1):PRINT"[157] [157][157]";:GOTO45
60 IFUR=ULTHEN45
65 GOSUB95:UR$=UR$+UI$:PRINTUI$;:GOTO45
70 IFUR$=UX$THENPRINT"[157] ";:GOTO145
75 FORUI=URTO1STEP-1:IFMID$(UR$,UI,1)=" "THENNEXT
80 UR$=LEFT$(UR$,UI):PRINT:RETURN
95 IFLEN(US$)=0THEN110
100 FORUI=1TOLEN(US$):IFUI$<>MID$(US$,UI,1)THENNEXT:UI$=""
105 RETURN
110 IFUA=46THENRETURN
111 IF UA=59ORUA=36THENRETURN
112 IFUI$=":"THENRETURN
113 IFUI$="*"THENRETURN
115 IFUA=32ANDUR<>0THENRETURN
120 IFUA>47ANDUA<58THENRETURN
125 IFUA>64ANDUA<91THENRETURN
130 IFUA<193ORUA>218THENUI$="":RETURN
135 IFPEEK(UT)=UU%THENUI$=CHR$(UA-128)
140 RETURN
145 GOSUB170:POKE251,0:POKE252,US/256:POKE253,0:POKE254,UF:SYSUV
150 UZ=1:UV%=PEEK(UT):GOTO300
155 UZ=0:US$=UJ$:UG$=UK$:UT$=UL$:UP=UJ:UL=UK:PRINT"[147]";:IFUW=0THENPOKEUY,6:POKEUX,6
160 POKEUT,UV%:POKE251,0:POKE252,UF:POKE253,0:POKE254,US/256:SYSUV:IFUW=0THENSYSUU,15
165 POKEU1,U1%:POKEU2,U2%:POKEU3,U3%-1:POKEU4,U4%:GOTO35
170 U1%=PEEK(U1):U2%=PEEK(U2):U3%=PEEK(U3):U4%=PEEK(U4)
175 UJ$=US$:UK$=UG$:UL$=UT$:UJ=UP:UK=UL:RETURN
300 PRINT"[147]":POKEUT,UU%:IFUW=0THENPOKEUY,12:POKEUX,6
305 PRINT" M E N U"
310 PRINT" --------------------------------"
315 PRINT" 1. BEGIN PILOT"
320 PRINT" 2. STUDENT INSTRUCTIONS"
325 PRINT" 3. TEACHER INSTRUCTIONS"
330 PRINT" 4. QUIT"
335 PRINT" --------------------------------"
340 PRINT" PRESS A NUMBER KEY (1-4) ";
345 UL=1:US$="1234"
347 GOSUB35:US$=""
350 ONVAL(UR$)GOSUB1000,400,500,390
355 GOTO300
370 IFUZ=1THENSYSUP%:GOTO155
375 RETURN
390 SYSUE:PRINT"[154][147]":IFUW=0THENPOKEUY,6:POKEUX,14:SYSUU,14
395 CLR:END
400 PRINT"[147]":POKEUT,UL%:IFUW=0THENPOKEUY,11:POKEUX,12
405 UT$=" [208]ILOT":UH=1:UP=0:UG$="[211]TUDENT [201]NST":GOSUB850
420 GOSUB3000
485 GOSUB835
490 IFUZ=1THENSYSUP%:GOTO155
495 RETURN
500 PRINT"[147]":POKEUT,UL%:IFUW=0THENPOKEUY,2:POKEUX,10
501 UT$=" [208]ILOT":UH=1:UP=0:UG$="[212]EACHER [201]NST":GOSUB850
502 PRINT" [212]O THE BEST OF OUR KNOWLEDGE,"
503 PRINT" THIS PROGRAM IS IN THE PUBLIC"
504 PRINT" DOMAIN. [201]F THIS IS NOT TRUE,"
505 PRINT" PLEASE CONTACT:"
506 PRINT" [195][207][205][205][207][196][207][210][197][160][194][213][211][201][206][197][211][211][160][205][193][195][200][201][206][197][211]"
507 PRINT" 3370 [208]HARMACY [193]VE.
508 [153]" ATNGINCOURT, (null)NTARIO"
509 [153]" LENANADA, (null)1(null) 2(null)4"
510 [153]" (416) 499-4292"
511 UH[178]1:[141]835:[141]850
512 [153]" (null)ROGRAM (null)AME: (null)ILOT
513 PRINT" [215]RITTEN BY : [210]. [196]RAKE
514 [153]" (null)EVISED BY : PEEKRIAN (null)UNSHAW"
515 [153]" (null)HIS PROGRAM WILL RUN ON ANY
516 PRINT" [194][193][211][201][195][160]2.0 [208][197][212] [195]OMPUTER
517 [153]" PEEKATN(null)RIGHT$LEN 4.0 (null)VAL(null)CLOSELENOMPUTER
518 PRINT" 8032 [195][194][205] [195]OMPUTER
519 [153]" LENOMMODORE 64 LENOMPUTER
520 UH=1:GOSUB835:GOSUB850:GOSUB5000
585 GOSUB835
590 IFUZ=1THENSYSUP%:GOTO155
595 RETURN
700 PRINTUC$"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032
705 [153]" LOAD THE 'CBM 4032' PROGRAM":[128]
800 [153]"LOAD";:[151]UT,UU%:[139]UW[178]0[167][151]UY,1:[151]UX,14
801 [129]I[178]1[164]38:[153]" WAIT";:[130]
802 [129]I[178]1[164]22:[153]"CMD WAIT";:[130]
803 [129]I[178]1[164]37:[153]"CMDCMD WAIT";:[130]
804 [129]I[178]1[164]22:[153]"ONCMD WAIT";:[130]
805 [153]"STEP WAIT
806 PRINT" [146] [146][169]
807 [153]" WAIT TAB((null)WAIT O M M O D O R E
808 PRINT"[223] [146]
809 [153]"EDUCATIONAL
810 PRINT"SOFTWARE
811 [153]"1985
812 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]"UC$:UI=0
813 GETUI$:IFUI$<>" "THENUI=UI+1:IFUI<250THEN813
814 GOTO300
835 POKEUN,0:PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]"
840 GETUI$:IFUI$<>" "THEN840
845 RETURN
850 UP=UP+1:PRINT"[147]"LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18)
855 PRINT" --------------------------------------"
860 IFUH=0THENPRINTLEFT$(UD$,24);LEFT$(UP$,7);"HELP - PRESS H <RETURN>"
865 UH=0:PRINT"":RETURN
875 PRINTLEFT$(UD$,24);" ONE MOMENT PLEASE... ":RETURN
900 UX$="H":US=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UB=1024:UD=1084:UE=1105
901 UT=59468:UU%=12:UL%=14:UP%=1158:UN=158:POKE50003,0:UW=PEEK(50003):UF=PEEK(53)
902 IFUW=0THENUS=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UB=2048:UX=53280:UD=2064
903 IFUW=0THENUT=53272:UU%=21:UL%=23:UP%=2151:UN=198:UY=53281:UU=2199:UE=2087
904 UC$=CHR$(155):UV=1214:IFUW=0THENUF=196:UV=2238
905 UD$="":UP$=" "
907 DIMP$(150),Q$(150),I$(20),R$(6),X$(4),OP$(2),C$(12)
909 RETURN
910 GOSUB900:PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE
915 IFPEEK(US+40)<>96THEN700
920 IF(FRE(0)-(SGN(FRE(0))<0)*65536)>500THEN935
925 PRINTUC$"[147]THIS MACHINE DOES NOT HAVE ENOUGH"
930 PRINT"MEMORY TO RUN THIS PROGRAM !":SYSUE:END
935 PRINT"[147]"UC$:IFUW=0THEN965
940 IFUF=60ORUF=108ORUF=124THEN950
945 POKE52,0:POKE53,UF-4:CLR:GOSUB900
950 IFUW=160THENPOKE1103,88:POKE1104,228:POKE1107,85:POKE1111,228:GOTO965
955 IFUW<>1THENPRINT"[147]THIS PGM WILL NOT WORK ON THIS MACHINE!":SYSUE:END
960 POKE1103,49:POKE1104,230:POKE1107,46:POKE1111,230:GOTO965
965 SYSUD
970 GOSUB800:GOTO300
1000 IFUZ=1THENSYSUP%:SYSUP%:UZ=0
1001 PRINT"[147]"UC$;:RESTORE:IFUW=0THENPOKEUY,6:POKEUX,6
1005 CLOSE8:CLOSE1
1015 RESTORE
1020 DATA C,H,D,R,U,L
1030 FORI=1TO6:READSC$(I):NEXTI
1041 N$="0123456789"
1050 DATAE,A,T,M,J,S,B,X,U,R,Z,W
1060 DATANEW,RUN,LIST,STOP,EDIT,LOAD,SAVE,I,J,K,L
1070 FORI=1TO12:READC$(I):NEXTI
1080 FORI=0TO6:READR$(I):NEXTI
1090 FORI=1TO4:READX$(I):NEXTI
1100 OP$(0)=">":OP$(1)="<":OP$(2)="="
1110 GOTO1420
1120 FORA=1TO150:P$(A)="":Q$(A)="":NEXTA:LI=1:FORA=1TO150
1130 PRINTLEFT$(UD$,LI)RIGHT$(UP$+STR$(A),4)" ";:UL=30:US$="":GOSUB35:P$(A)=UR$
1140 IFP$(A)="DONE"GOTO1200
1190 LI=LI+1:IFLI=18THENPRINTLEFT$(UD$,25):LI=17
1195 NEXT
1200 PRINT"[147]":LI=1:C=0:A1=A-1:M=0:FORA=1TOA1:FORB=1TOLEN(P$(A))
1210 IFMID$(P$(A),B,1)<>"*"ANDMID$(P$(A),B,1)<>"!"GOTO1230
1220 GOTO1290
1230 IFMID$(P$(A),B,1)<>":"GOTO1270
1240 Q$(A)=LEFT$(P$(A),B-1):IFLEN(P$(A))=LEN(Q$(A))+1THEN P$(A)=".":GOTO1290
1250 P$(A)=RIGHT$(P$(A),LEN(P$(A))-B)
1260 GOTO1290
1270 NEXTB
1280 PRINTLEFT$(UD$,LI)"COMMAND ERROR IN"A
1285 LI=LI+1:IFLI=18THENPRINTLEFT$(UD$,25):LI=17
1290 NEXTA
1300 GOTO1420
1310 C1=0:FORB=1TO4:I(B)=0:NEXTB:PRINT"[147]---RUN OF PROGRAM---"
1320 FORA=1TOA1:FORC2=1TO12:IFLEFT$(Q$(A),1)=C$(C2)GOTO1340
1330 NEXTC2:GOTO1400
1340 IFLEN(Q$(A))<>2GOTO1380
1350 IFRIGHT$(Q$(A),1)="Y"GOTO2660
1360 IFRIGHT$(Q$(A),1)="N"GOTO2680
1370 PRINT"INCORRECT CONDITIONAL IN LINE"A:GOTO1420
1380 IFC2=1THENGOTO1410
1390 ONC2GOSUB1040,1790,1590,1710,1860,1920,2010,2050,2170,2180,2190,2460
1400 GETA$:IFA$=CHR$(3)THEN PRINT"STOPPED AT LINE"A:GOTO 1420
1405 NEXT A
1410 M=0:PRINT"END OF RUN"
1420 GOSUB11000
1422 PRINTLEFT$(UD$,19):PRINT"NEW LIST RUN STOP EDIT LOAD SAVE"
1423 PRINT"COMMAND:[146] [157][157][157][157]";
1425 UZ=1:UL=4:US$="":GOSUB35:R$=UR$:PRINT
1430 FORR=0TO6:IFR$=R$(R)THENPRINT"[147]":GOTO1470
1440 NEXTR
1450 PRINT"I DON'T UNDERSTAND "UR$". [145][145][145][145]"
1460 GOTO1423
1470 IF R<>2 THEN 1480
1471 LI=1:GOSUB11000:PRINT"STARTING LINE: ";:UL=3:US$=N$:GOSUB35:A=VAL(UR$)
1472 PRINT"ENDING LINE: ";:UL=3:US$=N$:GOSUB35:BD=VAL(UR$)
1480 PRINT"[147]":ONR+1GOTO1120,1310,1490,1580,2220,2570,2480
1490 IFR=2THENA=A-1:GOTO1510
1500 A=0:BD=999
1510 A=A+1:IFA>A1ORA>BDGOTO1420
1520 PRINTLEFT$(UD$,LI);:IFQ$(A)<>""GOTO1540
1530 PRINTRIGHT$(UP$+STR$(A),5);TAB(6)P$(A):GOTO1565
1540 PRINTRIGHT$(UP$+STR$(A),5);TAB(6)Q$(A)":";:IFP$(A)="."THENPRINT:GOTO1565
1550 PRINTP$(A)
1565 LI=LI+1:IFLI=18THENLI=17:PRINTLEFT$(UD$,25)
1570 GOTO1510
1580 UZ=0:GOTO300
1590 FORZ=1TOLEN(P$(A)):IFMID$(P$(A),Z,1)="$"GOTO1610
1600 NEXTZ:GOTO1690
1610 FORZ1=Z+1TOLEN(P$(A)):IFMID$(P$(A),Z1,1)="$"THEN GOTO1630
1620 NEXTZ1:GOTO1690
1630 V$=MID$(P$(A),Z+1,Z1-Z):FORH=C1-1TO1STEP-1
1640 IFV$<>I$(H)THEN GOTO1680
1650 PRINTLEFT$(P$(A),Z-1)I$(H+1);:IFZ1>=LEN(P$(A))THENPRINT:GOTO1670
1660 PRINTRIGHT$(P$(A),LEN(P$(A))-Z1)
1670 GOTO1700
1680 NEXTH
1690 PRINTP$(A)
1700 RETURN
1710 M=0:E1=1
1720 FORE=1TOLEN(P$(A)):IFMID$(P$(A),E,1)="."GOTO1740
1730 GOTO1760
1740 IFMID$(P$(A),E1,LEN(Z$))=Z$GOTO1770
1750 E1=E+1
1760 NEXTE:RETURN
1770 M=1
1780 RETURN
1790 FORZ=1TOLEN(P$(A)):IFMID$(P$(A),Z,1)<>"$"GOTO1830
1800 C1=C1+2:I$(C1-1)=P$(A)
1810 UL=79:US$="":PRINT"? ";:GOSUB35:I$(C1)=UR$
1820 Z$=I$(C1):GOTO1850
1830 NEXTZ
1840 UL=79:US$="":GOSUB35:Z$=UR$
1850 RETURN
1860 FORD=1TOA1:IFQ$(D)<>""GOTO1900
1870 IFP$(A)<>P$(D)GOTO1900
1880 A=D
1890 RETURN
1900 NEXTD
1910 PRINT"JUMP TO UNFOUND LABEL":GOTO1420
1920 FORZI=1TO6:IFP$(A)=SC$(ZI)GOTO1940
1930 NEXTZI:PRINT" UNFOUND SCREEN COMMAND IN LINE"A:GOTO1420
1940 ONZIGOTO1950,1960,1970,1980,1990,2000
1950 PRINT"[147]";:RETURN
1960 PRINT"";:RETURN
1970 PRINT"";:RETURN
1980 PRINT"";:RETURN
1990 PRINT"[145]";:RETURN
2000 PRINT"[157]";:RETURN
2010 FORB=1TO4:IFP$(A)=X$(B)THENI(B)=I(B)+1:GOTO2040
2020 NEXTB
2030 PRINT"ILLEGAL VALUE IN LINE"A:GOTO1420
2040 RETURN
2050 M=0:R$=LEFT$(P$(A),1):FORB=1TO4:IFR$=X$(B)GOTO2070
2060 NEXTB:GOTO2030
2070 R$=MID$(P$(A),2,1):FORBB=0TO2:IFR$=OP$(BB)GOTO2090
2080 NEXTBB:GOTO2030
2090 R$=RIGHT$(P$(A),LEN(P$(A))-2)
2100 ONBB+1GOTO2110,2130,2150
2110 IFI(B)>VAL(R$)THENM=1
2120 RETURN
2130 IFI(B)<VAL(R$)THENM=1
2140 RETURN
2150 IFI(B)=VAL(R$)THENM=1
2160 RETURN
2170 DD=A:GOTO1860
2180 A=DD:RETURN
2190 FORB=1TO4:IFP$(A)=X$(B)THENI(B)=0:GOTO2210
2200 NEXTB:GOTO2030
2210 RETURN
2220 GOSUB11000:PRINT"EDITOR":GOTO2270
2225 GOSUB11000
2226 PRINT"WHAT LINE TO EDIT: [157][157][157]";
2227 US$="E0123456789H":UL=3:GOSUB35:A=VAL(UR$):IFUR$="E"THEN1570
2228 IFA>A1ORA=0THENPRINT"[145][145][145]":GOTO2226
2229 GOSUB11000:IFA1=0ORA=0THEN1420
2230 PRINT"LINE:[146]"A;
2235 IFQ$(A)<>""THEN2250
2240 PRINTP$(A):GOTO2270
2250 PRINTQ$(A)":";:IFP$(A)="."THENPRINT:GOTO2270
2260 PRINTP$(A)
2270 PRINT"C[146]HANGE D[146]ELETE I[146]NSERT S[146]ET LINE":PRINT"E[146]XIT
2280 [161]A$:[139]A$[178]""[137]2280
2285 [139]A$[178]"S"[167]2225
2290 [139]A$[178]"E"[137]1420
2300 [139]A$[178]"D"[137]2350
2310 [139]A$[178]"I"[137]2360
2320 [139]A$[178]"C"[137]2380
2330 [137]2280
2350 [129]G[178]A[164]A1[171]1:Q$(G)[178]Q$(G[170]1):P$(G)[178]P$(G[170]1):[130]G:A1[178]A1[171]1:A[178]A[171]1:[137]2229
2360 [129]G[178]A1[170]1[164]A[169][171]1:Q$(G[170]1)[178]Q$(G):P$(G[170]1)[178]P$(G):[130]G
2370 A1[178]A1[170]1:
2380 [141]11000:UL[178]30:US$[178]"":[153][200](UD$,19)UP$:[153]"ONLINE:WAIT ";
2385 [141]35:P$(A)[178]UR$:[153]:Q$(A)[178]""
2390 [129]B[178]1[164][195](P$(A)):[139][202](P$(A),B,1)[179][177]"*"[175][202](P$(A),B,1)[179][177]"!"[137]2410
2400 [137]2229
2410 [139][202](P$(A),B,1)[179][177]":"[137]2450
2420 Q$(A)[178][200](P$(A),B[171]1):[139][195](P$(A))[178][195](Q$(A))[170]1[167]P$(A)[178]".":[137]2440
2430 P$(A)[178][201](P$(A),[195](P$(A))[171]B)
2440 [137]2229
2450 [130]B:[153]"COMMAND ERROR IN LINE.":[137]2229
2460 [139][200](P$(A),1)[178]""[137]1590
2470 P$(A)[178]""[170]P$(A):[137]1590
2480 [141]11000:[153]"WHAT FILE NAME (10 CHAR.MAX)? ";:UL[178]10:US$[178]"":[141]35
2481 NM$[178]UR$[170]".PILOT"
2482 [153]"DWAITISK OR TWAITAPE? ";:UL[178]1:US$[178]"DT":[141]35:DV[178]1:[139]UR$[178]"D"[167]DV[178]8
2490 [139] DV[178]8 [167] [159]8,8,15:NM$[178]"0:"[170]NM$[170]",S,W"
2495 [159]1,DV,DV,NM$
2496 [139]DV[178]8[167][132]8,A$,B$:[139]A$[179][177]"00"[167][153]""B$:[160]8:[160]1:[137]2560
2500 [153]"WRITINGWAIT"
2510 [152]1,A1:[129]I[178]1[164]A1
2520 [139]Q$(I)[178]""[167]Q$(I)[178]"."
2530 [152]1,Q$(I):[152]1,P$(I)
2540 [139]Q$(I)[178]"."[167]Q$(I)[178]""
2550 [130]I:[160]1:[139]DV[178]8[167][160]8
2560 [137]1420
2570 [141]11000:[153]"FILE NAME (10 CHAR.MAX)? ";:UL[178]10:US$[178]"":[141]35
2571 NM$[178]UR$[170]".PILOT":[153]"DWAITISK OR TWAITAPE? ";:UL[178]1:US$[178]"DT":[141]35
2572 DV[178]1:SA[178]0:[139]UR$[178]"D"[167]DV[178]8:SA[178]8:NM$[178]"0:"[170]NM$[170]",S,R"
2575 [139] DV[178]8 [167] [159]8,8,15
2580 [159]1,DV,SA,NM$
2582 [139]DV[178]8[167][132]8,A$,B$:[139]A$[179][177]"00"[167] [153]""B$:[160]1:[160]8:[137]2560
2590 [153]"LOADING"
2600 [132]1,A1
2610 [129]I[178]1[164]A1:[132]1,Q$(I)
2620 [139]Q$(I)[178]"."[167]Q$(I)[178]""
2630 [132]1,P$(I):[130]I
2640 [160]1:[139]DV[178]8 [167] [160]8
2650 [137]1420
2660 [139]M[178]1[137]1390
2670 [137]1400
2680 [139]M[178]1[137]1400
2690 [137]1390
3000 [143] STUDENT INSTRUCTIONS
3010 [153]" (null)RIGHT$(null)(null)(null) [2.0]WAIT (null)ODIFIED BY (null). STR$RAKE 1982
3020 PRINT" [208][201][204][207][212] = [208][146]ROGRAMMED [201][146]NQUIRY,
3025 [153]" (null)WAITEARNING (null)WAITR (null)WAITEACHING"
3030 [153]" (null)RIGHT$(null)(null)(null) IS A PROGRAMMING LANGUAGE
3040 PRINT" SIMPLE ENOUGH FOR SMALL CHILDREN TO
3050 [153]" USE. (null)HIS PROGRAM LETS YOU WRITE,
3060 PRINT" EDIT, SAVE AND EXECUTE (RUN) PROGRAMS
3070 [153]" WRITTEN IN A SUBSET OF (null)RIGHT$(null)(null)(null). (null)HIS
3080 PRINT" PROGRAM IS ACTUALLY A [212]INY-[208][201][204][207][212]."
3090 GOSUB835:UH=1:GOSUB850
3100 PRINT" [208][201][204][207][212] HAS ONLY A FEW SIMPLE
3110 [153]" COMMANDS. ATNLL COMMANDS ARE SINGLE
3120 PRINT" LETTERS FOLLOWED BY A COLON (:).
3130 [153]" ASCOR EXAMPLE VAL: MARKS THE END
3132 PRINT" OF A [208][201][204][207][212] PROGRAM.
3135 [141]835:UH[178]1:[141]850
3140 [153]" (null)HERE ARE 2 COMMANDS TO WRITE OR"
3150 [153]" PRINT ON THE SCREEN. (null)HEY ARE:
3160 PRINT" [212]: AND [215]:
3170 [153]" (null): COPIES WHATEVER FOLLOWS IT
3180 PRINT" [215]: PRINTS IN REVERSE FIELD[146].
3190 [153]" ASCOR EXAMPLE, TO PRINT LEFT$VAL(null)(null)(null), USE THE
3200 PRINT" COMMAND: [212]:[200][197][204][204][207]
3210 [153]" OR (null):LEFT$VAL(null)(null)(null) TO GET LEFT$VAL(null)(null)(null)WAIT
3220 GOSUB835:UH=1:GOSUB850
3230 PRINT" [217]OU CAN ASK FOR INFORMATION (INPUT)
3240 [153]" WITH ATN:.
3250 PRINT" [212]HE DATA IS STORED IN A VARIABLE
3260 [153]" ENDING IN A $. ASCOR EXAMPLE: ATN;(null)ATN(null)VAL$
3270 PRINT" WILL STORE A USER'S INPUT IN [206][193][205][197]$"
3280 PRINT" [217]OU CAN TYPE THE CONTENTS OF
3290 [153]" VARIABLES ON THE SCREEN WITH (null): OR (null):
3300 PRINT" [197].G. [212]:[215][200][193][212][160][201][211][160][217][207][213][210][160][206][193][205][197]?
3310 [153]" ATN:(null)ATN(null)VAL$
3320 PRINT" [212]:[200][197][204][204][207][160]$[206][193][205][197]$
3325 [153]" VAL:
3330 PRINT" [206]OTE THE EXTRA $.
3340 [141]835:UH[178]1:[141]850
3350 [153]" STR$ATA TYPED IN CAN BE COMPARED FOR
3360 PRINT" CORRECTNESS. [215]HEN A MATCH IS MADE
3362 [153]" (OR NOT MADE) A (null)ES/(null)O FLAG IS SET.
3370 PRINT" [198]OR EXAMPLE, LET US ASK FOR A VOWEL
3380 [153]" AND CHECK FOR A CORRECT ANSWER.
3390 PRINT" [212]:[212][217][208][197][160][193][160][214][207][215][197][204]
3400 [153]" ATN:(null)(null)(null)$
3410 PRINT" [205]:[193].[197].[201].[207].[213].
3420 [153]" (null)(null):LEN(null)(null)(null)VALLEN(null)
3430 PRINT" [212][206]:$[214][207][215]$ [201][211][160][206][207][212][160][193][160][214][207][215][197][204]
3435 [153]" VAL:
3440 GOSUB835:UH=1:GOSUB850
3450 PRINT" [206]OTE THE ITEMS IN THE MATCH LIST ARE
3460 [153]" SEPARATED BY PERIODS. ATNLSO NOTICE THE
3470 PRINT" MODIFIERS TO THE [212]: COMMAND.
3480 [153]" (null)(null): IS PRINTED IF THE MATCH IS (null)ES.
3490 PRINT" [212][206]: IS EXECUTED IF THE MATCH IS [206]O.
3495 [141]835:UH[178]1:[141]850
3500 [153]" (null)HE PRINTING ON THE SCREEN CAN BE
3510 PRINT" CONTROLLED TO A CERTAIN EXTENT WITH
3520 [153]" (null): (null)HERE ARE 6 SCREEN COMMANDS.
3530 PRINT" [211]:[195] CLEAR THE SCREEN
3540 [153]" (null):LEFT$ HOME PRINTING POSITION
3550 PRINT" [211]:[204] GO LEFT 1 SPACE
3560 [153]" (null):(null) GO RIGHT 1 SPACE
3570 PRINT" [211]:[213] GO UP 1 LINE
3580 [153]" (null):STR$ GO DOWN 1 LINE
3590 GOSUB835:UH=1:GOSUB850
3600 PRINT" [208][201][204][207][212] ALSO GIVES THE FACILITY FOR
3610 [153]" LOOPS. (null)HE COMMANDS ARE MID$: (null): PEEK:
3615 PRINT" AND [216]: ."
3620 PRINT" [202]: IS A JUMP COMMAND. [202]: IS ALWAYS
3630 [153]" USED WITH A LABEL INDICATING THE
3640 PRINT" START OF THE LOOP. [204]ET'S TRY A
3650 [153]" PROGRAM THAT ASKS OUR NAME AND PRINTS
3660 PRINT" THE NAME CONTINUOUSLY.
3665 [141]835:UH[178]1:[141]850
3670 [153]" (null):(null)LEFT$ATN(null)CLOSERIGHT$(null)CLOSE(null)(null)(null)(null)CLOSE(null)ATN(null)VAL?
3680 PRINT" [193]:[206][193][205][197]$
3690 [153]" *PEEKVALCHR$RIGHT$(null)
3700 PRINT" [212]:$[206][193][205][197]$
3710 [153]" MID$:*PEEKVALCHR$RIGHT$(null)
3720 PRINT" [197]:
3730 [153]" *PEEKVALCHR$RIGHT$(null) IS THE LABEL MARKING THE START
3740 PRINT" OF THE LOOP. [206]OTE THAT LABELS START
3741 [153]" WITH A *.
3760 GOSUB835:UH=1:GOSUB850
3770 PRINT" [204]OOPS CAN BE CONTROLLED WITH THE
3780 [153]" OTHER COMMANDS. (null)OU CAN HAVE UP TO
3790 PRINT" 4 LOOPS. [212]HE LOOP VARIABLES ARE:
3800 [153]" I, J, K AND L.
3805 GOSUB835:UH=1:GOSUB850
3810 PRINT" [218]: ZEROS A VARIABLE. [211]O...
3820 [153]" (null):RIGHT$ IS THE SAME AS RIGHT$=0
3830 PRINT" [194]:[201] INCREASES [201] BY 1
3840 [153]" (null): WITH <,= AND > LETS YOU CHECK THE
3850 PRINT" LOOP VARIABLE.
3851 [153]" LEFT$ERE'S A PROGRAM TO ASK YOUR NAME
3852 PRINT" AND PRINT IT 5 TIMES."
3860 GOSUB835:UH=1:GOSUB850
3870 PRINT" ![210][197][205][193][210][203]
3880 [153]" !(null)(null)RIGHT$(null)(null)CLOSE(null)(null)(null)(null)CLOSE(null)ATN(null)VAL 5CLOSE(null)RIGHT$(null)VAL(null)"
3890 [153]" ! REMARK-BLANK LINE
3900 PRINT" [211]:[195] CLEAR THE SCREEN
3910 [153]" (null):STR$ DOWN A LINE
3920 PRINT" [212]:[212][217][208][197][160][201][206][160][217][207][213][210][160][206][193][205][197]
3930 [153]" ATN:(null)ATN(null)VAL$
3940 PRINT" [218]:[201] LET [201]=0
3950 [153]" *PEEKVALCHR$RIGHT$(null)
3960 PRINT" [212]:[206][193][205][197]$
3970 [153]" PEEK:RIGHT$ INCREASE RIGHT$ BY 1
3980 PRINT" [216]:[201]=5 IS [201]=5?
3990 [153]" MID$(null):*PEEKVALCHR$RIGHT$(null) IF RIGHT$ ISN'T 5,JUMP
4000 PRINT" [197]:
4010 [153]" (null)OTE THE MID$UMP ON (null)(null). MID$UMP ON (null)ES IS
4020 PRINT" ALSO POSSIBLE."
4030 GOSUB835:UH=1:GOSUB850
4040 PRINT" [208][201][204][207][212] ALSO SUPPORTS SUBROUTINES,
4050 [153]" THAT IS SMALL PROGRAMS WITHIN A
4060 PRINT" LARGER PROGRAM. [211]UBROUTINES OR
4070 [153]" PROCEDURES CAN BE WRITTEN AND TESTED
4080 PRINT" AND THEN ADDED TO A LARGER PROGRAM.
4090 [153]" (null)UBROUTINES ARE ESPECIALLY VALUABLE
4100 PRINT" FOR TASKS THAT ARE TO BE REPEATED.
4105 [141]835:UH[178]1:[141]850
4110 [153]" (null)HE COMMANDS ARE (null): TO EXECUTE THE
4120 PRINT" ROUTINE AND [210]: TO MARK ITS END.
4130 [153]" (null): IS FOLLOWED BY A LABEL (LIKE THE
4140 PRINT" LABELS USED FOR JUMPS).
4150 [153]" LEFT$ERE IS A FINAL EXAMPLE SHOWING A
4160 PRINT" SIMPLE SUBROUTINE.
4170 [141]835:UH[178]1:[141]850
4180 [153]" ! STR$VAL(null)(null)(null)(null)(null)(null)ATN(null)VALCLOSE(null)(null)PEEK(null)(null)(null)(null)RIGHT$(null)VAL
4190 PRINT" [212]:[212][200][201][211][160][201][211][160][193] [212][197][211][212]
4200 [153]" (null):*(null)(null)PEEK1
4210 PRINT" [213]:*[211][213][194]2
4220 [153]" VAL:
4230 PRINT" !
4240 [153]" *(null)(null)PEEK1
4250 PRINT" [212]:[212][200][201][211][160][201][211][160][210][207][213][212][201][206][197][160][206][213][205][194][197][210][160]1
4260 [153]" (null):
4270 PRINT" *[211][213][194]2
4280 [153]" (null):(null)LEFT$RIGHT$(null) RIGHT$(null)CLOSE(null)(null)(null)(null)RIGHT$(null)VALCLOSE(null)(null)(null)PEEKVAL(null)CLOSE2
4290 PRINT" [210]:
4310 [141]835:UH[178]1:[141]850
4320 [153]" (null)HEN YOU ARE ENTERING A PROGRAM YOU
4330 PRINT" MAY INDICATE THAT YOU ARE FINISHED
4340 [153]" BY TYPING STR$(null)(null)VAL."
4350 [142]
5000 [143] TEACHER INSTRUCTIONS
5010 [153]" (null)RIGHT$(null)(null)(null) IS A CONVERSATIONAL LANGUAGE
5020 PRINT" WRITTEN BY [202]OHN [211]TARKWEATHER AT"
5030 PRINT" [213].[211].[195]. TO SIMPLIFY THE WRITING OF"
5040 PRINT" PROGRAMS CONSISTING OF CONVERSATIONAL"
5050 PRINT" DIALOGUES. [201]T IS A LANGUAGE THAT
5060 [153]" CAN BE UNDERSTOOD BY MOST 8 YEAR OLDS.
5070 GOSUB835:UH=1:GOSUB850
5080 PRINT" [208][201][204][207][212]'S INSTRUCTIONS CAN BE COMPARED
5090 [153]" TO PEEKATN(null)RIGHT$LEN'S.
5100 PRINT" [212] - [208][210][201][206][212] [193] - [201][206][208][213][212]
5110 [153]" MID$ - CHR$(null)(null)(null) (null) - RIGHT$ASC/(null)LEFT$VAL(null) FOR STRINGS
5120 PRINT" [213] - [199][207][211][213][194] [210] - [210][197][212][213][210][206]
5130 [153]" PEEK - RIGHT$=RIGHT$+1 (null) - RIGHT$ASC/(null)LEFT$VAL(null) FOR COUNTERS
5140 PRINT" [218] - [201]=0 [197] - [197][206][196]
5141 [153]" (null)OME VERSIONS OF (null)RIGHT$(null)(null)(null) SUPPORT
5142 PRINT" COMPUTATION. [212]HIS [212]INY-[208][201][204][207][212] DOESN'T.
5150 [141]835
5360 [142]
11000 [153][200](UD$,18):[129]I[178]1[164]6:[153]UP$:[130]:[153][200](UD$,18):[142]